package org.example.ui;

import javax.swing.*;
import java.awt.*;

public class UIExecutor extends JFrame {

    public void initUi() {
        //新建一个窗口
        // JFrame frame = new JFrame("Login");
        // 窗口设置
        this.setSize(600,450);                              // 定义面板大小
        this.setLocation(300,200);                          // 定义面板在桌面的哪个位置
        this.setTitle("web rpa bot");         // 定义面板title
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 使用System exit 方法退出应用程序

        // 布局管理
        //this.setLayout(new GridLayout(2,1));              // 使容器中的各组件呈M行×N列的网格状分布。
        this.setLayout(new FlowLayout(FlowLayout.LEFT,20,30));

        // 建立permit面板
//        JPanel jpPermit = new JPanel();                 // 定义面板
//        JLabel jlPermit = new JLabel("Permission");// 定义标签
//        String[] menu = {"Administrator","Student"};    // 定义下拉菜单内容
//        JComboBox jcbMenu = new JComboBox(menu);        // 将按钮或可编辑字段与下拉列表组合的组件
//        JList jlMenu = new JList(menu);                 // 建立列表框
//        jlMenu.setVisibleRowCount(1);                   // 设置你希望显示多少个选项
//        JScrollPane jspManu = new JScrollPane(jlMenu);  // 定义滚动面板
        // 添加组件
//        jpPermit.add(jlPermit);                         // 在permit面板添加permit标签
//        jpPermit.add(jcbMenu);                          // 在permit面板添加permit下拉菜单
        // 添加面板
//        this.add(jpPermit);                             // 添加permit面板

        // 建立账号面板
        JPanel jpAccount = new JPanel();                  // 新建账号面板
        JLabel jlAccount = new JLabel("配置文件路径"); // 新建账号标签
        JTextField jtAccount = new JTextField(40);// 新建账号文本框
        // 添加组件
        jpAccount.add(jlAccount);                         // 在account面板添加account标签
        jpAccount.add(jtAccount);                         // 在account面板添加account文本框
        // 添加面板
        this.add(jpAccount);                              // 添加Account面板

        // 建立密码面板
//        JPanel jpPassWords = new JPanel();                   // 新建密码面板
//        JLabel jlPassWords = new JLabel("PassWords");        // 新建密码标签
//        JPasswordField jtPassWords = new JPasswordField(14); // 新建密码文本框,用JPasswordField类使密码文本框中的内容显示星号
//        // 添加组件
//        jpPassWords.add(jlPassWords);   // 在passwords面板添加password标签
//        jpPassWords.add(jtPassWords);   // 在passwords面板添加password文本框
//        // 添加面板
//        this.add(jpPassWords);          // 添加密码面板

        // 建立多选框面板
//        JPanel jpClass = new JPanel();
//        JLabel jlClass =  new JLabel("chose class");
//        JCheckBox jcbClass1 = new JCheckBox("English");
//        JCheckBox jcbClass2 = new JCheckBox("Chinese");
//        // 添加组件
//        jpClass.add(jlClass);
//        jpClass.add(jcbClass1);
//        jpClass.add(jcbClass2);
//        // 添加面板
//        this.add(jpClass);

        // 建立单选框按钮
//        JPanel jpGender = new JPanel();
//        JLabel jlGender = new JLabel("Gender");
//        JRadioButton jrbMale = new JRadioButton("male");
//        JRadioButton jrbFemale = new JRadioButton("female");
//        ButtonGroup bg = new ButtonGroup();
//        bg.add(jrbMale);
//        bg.add(jrbFemale);
//        // 添加组件
//        jpGender.add(jlGender);
//        jpGender.add(jrbMale);
//        jpGender.add(jrbFemale);
//        // 添加面板
//        this.add(jpGender);
        // 输出区域
        JPanel jpOutput = new JPanel();
        JLabel jlOutput = new JLabel("输出区域        ");
        JTextArea jtOutput = new JTextArea(15, 40);
        jtOutput.setEditable(false);
        jpOutput.add(jlOutput);
        jpOutput.add(jtOutput);
        this.add(jpOutput);

        // 建立login面板
        JPanel jpCheck = new JPanel();                 // 新建login面板
        JButton jbCheck = new JButton("校验配置文件");        // 新建login按钮
        // 添加组件
        jpCheck.add(jbCheck);                          // 在login面板添加login按钮
        // 添加面板
        this.add(jpCheck);                             // 添加login面板

        // 建立create面板
        JPanel jpRun = new JPanel();                // 新建create面板
        JButton jbRun = new JButton("点击运行");      // 新建create按钮
        // 添加组件
        jpRun.add(jbRun);                        // 在create面板添加create按钮
        // 添加面板
        this.add(jpRun);                            // 添加create面板

        this.setVisible(true);                         // 使窗口及面板/组件可见
    }
}
